#include<iostream>
#include<string>
using namespace std;
string s, ans;
//4500
//4747
void dfs(int u, int cnt1, int cnt2)
{
	if (ans < s)return;
	if (u == s.size()) {
		cout << ans << endl;
		exit(0);
	}
	if (cnt1 < s.size() / 2) {
		ans[u] = '4';
		dfs(u + 1, cnt1 + 1, cnt2);
	}
	if (cnt2 < s.size() / 2) {
		ans[u] = '7';
		dfs(u + 1, cnt1, cnt2 + 1);
	}
}
int main()
{
    cin >> s;
	int n = s.size();
	//cout << n << endl;
	if (n & 1) {
		n++;
		for (int i = 0; i < n / 2; i++) cout << "4";
		for (int i = 0; i < n / 2; i++) cout << "7";
	}
	else {
		string temp;
		for (int i = 0; i < n; i++) {
			temp += (i < n / 2 ? "7" : "4");
		}
		if (s > temp) {
			n += 2;
			for (int i = 0; i < n / 2; i++)cout << "4";
			for (int i = 0; i < n / 2; i++)cout << "7";
			return 0;
		}
		int cnt1 = 0, cnt2 = 0;
		bool flag = 0;
		for (int i = 0; i < n; i++) {
			cnt1 += (s[i] == '4' ? 1 : 0);
			cnt2 += (s[i] == '7' ? 1 : 0);
			if (s[i] != '4' && s[i] != '7')flag = 1;
		}
		if (!flag) {
			if (cnt1 == cnt2) {
				cout << s << endl;
				return 0;
			}
		}
		for (int i = 0; i < n; i++)ans += '9';
		dfs(0, 0, 0);
	}
	return 0;
}